1. Field of the Invention
The present invention relates to systems and methods of storing and retrieving data, and in particular to a method and system for managing metadata in a database management system.
2. Description of the Related Art
Large-scale integrated database management systems provide an efficient, consistent, and secure means for storing and retrieving vast amounts of data. This ability to manage massive amounts of information has become a virtual necessity in business today.
Increasingly, database management systems are required to store and retrieve wide varieties of data To assist in this task, a class of data which describes characteristics of other data in the database management system has been described. This data class is known as xe2x80x9cmetadata.xe2x80x9d
In a centralized data warehouse, the metadata for any given application software component consists of three parts: (1) definitions that are meaningful only to the component itself, (2) definitions that are usable by a set of components different from the one which registered the definition but which are defined in terms of base definitions that affect a still larger set of components, and (3) base definitions that must be considered a system-wide common resource. Typically, a single common store forms a metadata repository which is used as a reference database by multiple subscribing components.
Providing single metadata source for multiple data subscribers has several advantages, including direct data exchange, promoting interoperability and integration of applications, sharing common data, and consolidating resources for persistence, backup, and browsing. However, this requires metadata integrity to avoid inconsistencies in a connected set of metadata items. Such inconsistencies can occur for example, when a writer application modifies some part of the information while a reader application still depends on the information. In the simplest case, metadata integrity is needed provide coordinated access so that the subscriber application is guaranteed an unchangeable metadata domain while a connection is active between the application and the metadata store. Under a broader definition of metadata integrity, metadata access is coordinated between two different resource users, even in cases where the two resource users do not demand access at the same time.
While metadata integrity is needed, it must not be more burdensome than not having common metadata at all. Further, it must operate under a variety of timeframes and through potential system recoveries, and should allow owners of applications using metadata to discover existing data dependencies before changes to the metadata are made. The present invention satisfies that need.
To address the requirements described above, the present invention discloses a method, apparatus, article of manufacture, and a memory structure for managing metadata in a database management system.
The method comprises the steps of accepting a command potentially modifying the metadata in the database management system from a system component, transmitting the command to a metadata service, parsing the command to determine if the metadata will be modified, accessing a rule set when modification of the metadata is required, and enforcing the rule described in the rule set. The article of manufacture comprises a data storage device tangibly embodying instructions to perform the method steps described above.
The apparatus comprises a means for performing the above operations. In one embodiment, this includes a metadata service that accepts commands from the database management system, reads a rule set stored in the database management system, and enforces that rule set. Many different embodiments of the invention employing different rule sets are disclosed, including predicate and subsequent rules, and rule type categorizations.
The present invention utilizes an extended transaction protocol. Unlike a generic transaction, where system is guaranteed before and after the transaction, the present invention assures metadata security within the boundary of the transaction, and activities are sequenced under management so that system consistency is assured at every stage.
The foregoing provides the advantages metadata management, while minimizing the burden on the system in enforcing the management structure. The disclosed technique of locking a metadata version for a given subscriber component only as intrusive as necessary to implement the necessary management rules. A pre-programmed response to a metadata change notice may be associated with a change group. Also, a change group may be defined not only by enumeration of parts, but by inheritance rules. Using the present invention, owners of applications and metadata can discover existing dependencies before making metadata changes. The present invention also allows the protocol to operate over a variety of timeframes and through potential system recoveries. In addition to providing both programmable and interactive responses to change requests, the present invention assures that the notification of proposed changes will survive system failures and will be delivered to dependent subscribers following a system recovery.